package com.tt.jedis;

/**
 * Jedis 客户端
 * @author 青青
 */
public interface JedisClient
{
    /**
     * 设置
     * @param key
     * @param value
     * @return
     */
    String set(String key, String value);


    /**
     * 获取
     * @param key
     * @return
     */
    String get(String key);

    /**
     * 删除Key
     * @param key
     * @return
     */
    public Long delete(String key);


    /**
     * 是否存在
     * @param key
     * @return
     */
    Boolean exists(String key);

    /**
     * 设置过期时间
     * @param key
     * @param seconds
     * @return
     */
    Long expire(String key, int seconds);

    /**
     * Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在， SETEX 命令将会替换旧的值。
     * @param key
     * @param second
     * @param value
     * @return 设置成功时返回 OK
     */
    String setEx(String key, int second,String value);

    /**
     * 设置倒计时
     * @param key
     * @return
     */
    Long ttl(String key);

    /**
     * 设置自增
     * @param key
     * @return
     */
    Long incr(String key);
    Long hset(String key, String field, String value);
    String hget(String key, String field);
    Long hdel(String key, String... field);
}
